
//
// !!!修改文件后调用 npm run buildJs 生成 global-utils-all.js
//

"use strict";

import { globalUtils } from './global-utils-common';

/* SOURCE-CODE-START */

/**
 * @memberof globalUtils
 * @description 返回完整的 URL 路径
 * @param {string} relativeUrl 
 * @returns {string}
 */
globalUtils.getFullUrl = function (relativeUrl) {
  if (!globalUtils.isString(relativeUrl)) {
    throw new Error('argument#0 "relativeUrl" required string');
  }

  // 获取 base 标签的 href 属性值
  var basePath = $('base').attr('href');

  // basePath 规范成 "/" 结尾
  if (globalUtils.isNullOrUndefined(basePath)) {
    basePath = '/';
  } else if (!basePath.endsWith('/')) {
    basePath = basePath + '/';
  }

  // relativeUrl 规范成不以 "/" 开头
  if (relativeUrl.startsWith('/')) {
    relativeUrl = relativeUrl.substring(1);
  }

  return (basePath + relativeUrl);
};

/**
 * @memberof globalUtils
 * @description 获取浏览器URL
 * @returns {string}
 */
globalUtils.getLocationUrl = function () {
  return location.href;
};


/**
 * @memberof globalUtils
 * @description 改变浏览器URL
 * @param {string} url 
 */
globalUtils.setLocationUrl = function (url) {
  if (!globalUtils.isString(url)) {
    throw new Error('argument#0 "url" required string');
  }

  location.href = url;
};

/* SOURCE-CODE-END */

export { globalUtils };
